|
1
|
|
|
// Generated by dts-bundle-generator v9.5.1 |
|
2
|
|
|
|
|
3
|
|
|
declare namespace wsc { |
|
4
|
|
|
interface DataObject { |
|
5
|
|
|
[key: string]: any; |
|
6
|
|
|
} |
|
7
|
|
|
type WSEvent = "open" | "message" | "close" | "error" | "timeout"; |
|
8
|
|
|
/** Minimal socket-like interface. */ |
|
9
|
|
|
interface Socket { |
|
10
|
|
|
readyState: number; |
|
11
|
|
|
send(...any: any[]): void; |
|
12
|
|
|
close(): void; |
|
13
|
|
|
addEventListener: WebSocket["addEventListener"]; |
|
14
|
|
|
removeEventListener: WebSocket["removeEventListener"]; |
|
15
|
|
|
} |
|
16
|
|
|
type AsyncErrCode = Promise<number | null | {}>; |
|
17
|
|
|
type EventHandler = (e: any) => void; |
|
18
|
|
|
type DataPipe = (message: any) => any; |
|
19
|
|
|
type DataType = "json" | "string"; |
|
20
|
|
|
interface Config { |
|
21
|
|
|
data_type: DataType; |
|
22
|
|
|
log(event: string, time?: number | null, message?: any): void; |
|
23
|
|
|
log(event: string, message?: any): void; |
|
24
|
|
|
timer: boolean; |
|
25
|
|
|
url: string; |
|
26
|
|
|
timeout: number; |
|
27
|
|
|
reconnect: number; |
|
28
|
|
|
reconnection_attempts: number; |
|
29
|
|
|
max_idle_time: number; |
|
30
|
|
|
lazy: boolean; |
|
31
|
|
|
socket: Socket | null; |
|
32
|
|
|
adapter: (host: string, protocols?: string[]) => Socket; |
|
33
|
|
|
encode: (key: string, message: any, config: Config) => any; |
|
34
|
|
|
decode: (rawMessage: any) => { |
|
35
|
|
|
[id_or_data_key: string]: string; |
|
36
|
|
|
}; |
|
37
|
|
|
protocols: string[]; |
|
38
|
|
|
pipes: DataPipe[]; |
|
39
|
|
|
server: { |
|
40
|
|
|
id_key: string; |
|
41
|
|
|
data_key: string; |
|
42
|
|
|
}; |
|
43
|
|
|
ping: { |
|
44
|
|
|
interval: number; |
|
45
|
|
|
content: any; |
|
46
|
|
|
}; |
|
47
|
|
|
} |
|
48
|
|
|
type UserConfig = Partial<Config>; |
|
49
|
|
|
type SendOptions = Partial<{ |
|
50
|
|
|
top: any; |
|
51
|
|
|
data_type: DataType; |
|
52
|
|
|
_is_ping: boolean; |
|
53
|
|
|
}>; |
|
54
|
|
|
interface Message { |
|
55
|
|
|
msg: any; |
|
56
|
|
|
ff(x: any): any; |
|
57
|
|
|
data_type: DataType; |
|
58
|
|
|
sent_time: number | null; |
|
59
|
|
|
timeout: NodeJS.Timeout; |
|
60
|
|
|
} |
|
61
|
|
|
} |
|
62
|
|
|
declare class WebSocketClient { |
|
63
|
|
|
private ws; |
|
64
|
|
|
private intentionally_closed; |
|
65
|
|
|
private reconnect_timeout; |
|
66
|
|
|
private queue; |
|
67
|
|
|
private onReadyQueue; |
|
68
|
|
|
private onCloseQueue; |
|
69
|
|
|
private handlers; |
|
70
|
|
|
private config; |
|
71
|
|
|
private ping_timer; |
|
72
|
|
|
private idle_timer; |
|
73
|
|
|
private get opened(); |
|
74
|
|
|
private init_flush; |
|
75
|
|
|
private call; |
|
76
|
|
|
private log; |
|
77
|
|
|
private resetPing; |
|
78
|
|
|
private resetIdle; |
|
79
|
|
|
private initSocket; |
|
80
|
|
|
private opening; |
|
81
|
|
|
private connect; |
|
82
|
|
|
get socket(): wsc.Socket | null; |
|
83
|
|
|
ready(): Promise<void>; |
|
84
|
|
|
on(event_name: wsc.WSEvent, handler: (data: any) => any, predicate?: (data: any) => boolean, raw?: boolean): wsc.EventHandler; |
|
85
|
|
|
off(event_name: wsc.WSEvent, handler: (data: any) => any, raw?: boolean): void; |
|
86
|
|
|
close(): wsc.AsyncErrCode; |
|
87
|
|
|
open(): Promise<number | null> | undefined; |
|
88
|
|
|
/** .send(your_data) wraps request to server with {id: `hash`, data: `actually your data`}, |
|
89
|
|
|
returns a Promise that will be rejected after a timeout or |
|
90
|
|
|
resolved if server returns the same signature: {id: `same_hash`, data: `response data`}. |
|
91
|
|
|
*/ |
|
92
|
|
|
send<RequestDataType = any, ResponseDataType = any>(message_data: RequestDataType, opts?: wsc.SendOptions): Promise<ResponseDataType>; |
|
93
|
|
|
constructor(user_config?: wsc.UserConfig); |
|
94
|
|
|
} |
|
95
|
|
|
|
|
96
|
|
|
export { |
|
97
|
|
|
WebSocketClient as default, |
|
98
|
|
|
}; |
|
99
|
|
|
|
|
100
|
|
|
export {}; |
|
101
|
|
|
|